Parallel Discrete Event Simulation is a well known technique\udfor executing complex general-purpose simulations where\udmodels are described as objects the interaction of which is\udexpressed through the generation of impulsive events. In\udparticular, Optimistic Simulation allows full exploitation of\udthe available computational power, avoiding the need to\udcompute safety properties for the events to be executed. Optimistic Simulation platforms internally rely on several data\udstructures, which are meant to support operations aimed\udat ensuring correctness, inter-kernel communication and/or\udevent scheduling. These housekeeping and management operations access them according to complex patterns, commonly suffering from misuse of memory caching architectures. In particular, operations like log/restore access data\udstructures on a periodic basis, producing the replacement\udof in-cache buffers related to the actual working set of the\udapplication logic, producing a non-negligible performance\uddrop.\udIn this work we propose generally-applicable design principles for a new memory management subsystem targeted at\udOptimistic Simulation platforms which can face this issue by\udwisely allocating memory buffers depending on their actual\udfuture access patterns, in order to enhance event-execution\udmemory locality. Additionally, an application-transparent\udimplementation within ROOT-Sim, an open-source generalpurpose optimistic simulation platform, is presented along\udwith experimental results testing our proposal.
展开▼